const { join } = require('path')
const { root } = require('../contants')
exports.asyncException = function asyncException(func) {
    return async function(req, res, next) {
        try {
            await func(req, res, next)
        } catch(err) {
            console.error(err)
            if (err.type === 'auth-exception') {
                // 重定向到登录界面
                res.redirect(join(root, 'login'), 302)
            } else if (err.type === 'notfound-exception') {
                res.redirect(join(root, '404'), 302)
            } else {
                res.status(500).send(err)
            }
        }
    }
}